home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib07.dsk
/
CONTROLLED INPUT SUBROUTINE.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
1KB
|
18 lines
10 X = 10:X3 = 11:X1 = 10:X4 = X3 +1:X2 = X1A = 0:A$(A) = "INPUT STRING": HOME : GOSUB 6000: PRINT : PRINT "THE STRING YOU TYPED IS '"Y$"'": END : REM DEMO TO SHOW HOW PARAMETERS SHOULD BE SET UP
300 PRINT : PRINT : PRINT "ESCAPE KEY PRESSED": END
6000 L = X:Y$ = "":Y1 = 0:X1 = LEN(A$(A)) +1:X2 = X +X1 +1:X4 = X3 +1: VTAB X3: HTAB X1: CALL -958: VTAB X4: HTAB X2: PRINT CHR$(94)
6010 VTAB X3: HTAB X1: CALL -868: VTAB X3: HTAB 1: PRINT A$(A)": "Y$: VTAB X3: HTAB X1
6020 GET X$: IF X$ = CHR$(27) THEN POP : GOTO 300
6030 IF X$ = CHR$(13) THEN 6080
6040 IF X$ = CHR$(8) THEN 6100
6050 IF X$ = "" THEN 6020
6060 IF X <1 THEN 6120
6070 X = X -1:Y$ = Y$ +X$:Y1 = INT( LEN(Y$)): GOTO 6010
6080 IF Y1 <Y THEN 6020
6090 RETURN
6100 IF Y1 < = 1 THEN Y$ = "":X = (X +1) *(X <L) +(L *(X >L)): GOTO 6010
6110 Y1 = Y1 -1:Y$ = LEFT$(Y$,Y1):X = X +1: GOTO 6010
6120 GET X$: IF X$ = CHR$(27) THEN POP : GOTO 300
6130 IF X$ = CHR$(13) THEN 6080
6140 IF X$ = CHR$(8) THEN 6100
6150 GOTO 6120